home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / PROGRAM / SCLIB.ARJ / SCL1EMS.H < prev    next >
C/C++ Source or Header  |  1992-01-01  |  3KB  |  86 lines

  1. #pragma pack(1)
  2.  
  3. typedef struct{
  4.     unsigned long bytes;
  5.     char stype;
  6.     unsigned int shandle;
  7.     unsigned int soffset;
  8.     unsigned int sseg;
  9.     char dtype;
  10.     unsigned int dhandle;
  11.     unsigned int doffset;
  12.     unsigned int dseg;
  13.     }EMSMove;
  14.  
  15. #pragma pack()
  16.  
  17. typedef struct{
  18.     unsigned int logpage;
  19.     unsigned int phpage;
  20.     }EMSMap;
  21.  
  22. typedef struct{
  23.     unsigned int handle;
  24.     unsigned int pages;
  25.     }EMSHandle;
  26.  
  27. #define EMS_MAJOR_VER(i) (((i) & 0x00f0) >> 4)
  28. #define EMS_MINOR_VER(i) ((i) & 0xf)
  29.  
  30. #define EMS_CONVENTIONAL_MEM    0
  31. #define EMS_EXPANDED_MEM        1
  32.  
  33. #define EMS_OK                  0
  34. #define EMS_NOT_AVAILABLE       1
  35. #define EMS_INTERNAL_ERROR      0x80
  36. #define EMS_HARDWARE_ERROR      0x81
  37. #define EMS_MANAGER_BUSY        0x82
  38. #define EMS_INVALID_HANDLE      0x83
  39. #define EMS_NOT_IMPLEMENTED     0x84
  40. #define EMS_NO_MORE_HANDLE      0x85
  41. #define EMS_SAVE_REST_ERROR     0x86
  42. #define EMS_LOG_GREATER_PH      0x87
  43. #define EMS_LOG_GREATER_AVA     0x88
  44. #define EMS_ZERO_ALLOC          0x89
  45. #define EMS_INVALID_LOG         0x8a
  46. #define EMS_INVALID_PH          0x8b
  47. #define EMS_STATE_SAVE_FULL     0x8c
  48. #define EMS_SAVE_ALREADY        0x8d
  49. #define EMS_RESTORE_FAIL        0x8e
  50. #define EMS_S_NOT_IMPLEMENTED   0x8f
  51. #define EMS_SOURCE_OVERWRITTEN  0x92
  52. #define EMS_SIZE_ERROR          0x93
  53. #define EMS_OVERLAP             0x94
  54. #define EMS_OFFSET_ERROR        0x95
  55. #define EMS_TOO_BIG             0x96
  56. #define EMS_OVERLAP_ERROR       0x97
  57. #define EMS_UNDEFINED_TYPE      0x98
  58. #define EMS_DUPLICATE           0xa1
  59. #define EMS_WRAP_ERROR          0xa2
  60.  
  61. extern unsigned int EMS_Segment;
  62.  
  63. int EMS_Alloc(int *handle,int pages);
  64. int EMS_AvailableLogPages(unsigned int *npages);
  65. int EMS_PageAdress(int page,void far * far * pagept);
  66. int EMS_TotalLogPages(unsigned int *npages);
  67. int EMS_TotalPhPages(unsigned int *npages);
  68. int EMS_Exchange(EMSMove *);
  69. int EMS_Free(int handle);
  70. int EMS_GetAllHandlePages(EMSHandle *p,int *entries);
  71. int EMS_GetHandleCount(int *ActiveHandles);
  72. int EMS_GetHandlePages(int handle,int *Pages);
  73. int EMS_Exchange(EMSMove *);
  74. int EMS_GetHandleName(int handle,char *name);
  75. int EMS_GetNamedHandle(char *name,int *handle);
  76. int EMS_Init(void);
  77. int EMS_Map(int handle,int ppage,int lpage);
  78. int EMS_MapMultipleEMS(int handle,int entries,EMSMap *parameter);
  79. int EMS_Move(EMSMove *);
  80. int EMS_Realloc(int handle,int pages);
  81. int EMS_RestorePageMap(int handle);
  82. int EMS_Status(void);
  83. int EMS_SavePageMap(int handle);
  84. int EMS_SetHandleName(int handle,char *name);
  85. int EMS_Version(unsigned int *version);
  86.